package cn.zs.groupmarket.domain.activity.adapter.repository;

import cn.zs.groupmarket.domain.activity.model.entity.UserGroupBuyOrderDetailEntity;
import cn.zs.groupmarket.domain.activity.model.valobj.GroupBuyActivityDiscountVO;
import cn.zs.groupmarket.domain.activity.model.valobj.SCSkuActivityVO;
import cn.zs.groupmarket.domain.activity.model.valobj.SkuVO;
import cn.zs.groupmarket.domain.activity.model.valobj.TeamStatisticVO;

import java.util.List;

/**
 * @Description: 活动仓储
 * @Auther: zs
 * @Date: 2024/12/23/16:25
 */
public interface IActivityRepository {
    GroupBuyActivityDiscountVO queryGroupBuyActivityDiscountVO(Long activityId);

    SkuVO querySkuByGoodsId(String goodsId);

    SCSkuActivityVO querySCSkuActivityByGoodsId(String source, String channel, String goodsId);

    boolean isTagCrowdRange(String tagId, String userId);

    List<UserGroupBuyOrderDetailEntity> queryInProgressUserGroupBuyOrderDetailListByOwner(Long activityId, String userId, int ownerCount);

    List<UserGroupBuyOrderDetailEntity> queryInProgressUserGroupBuyOrderDetailListByRandom(Long activityId, String userId, int randomCount);

    TeamStatisticVO queryTeamStatisticByActivityId(Long activityId);
}
